package com.jy.api.hospital;

import com.jy.api.hospital.dto.HospitalDTO;
import com.jy.api.hospital.dto.JiGouDTO;
import com.jy.api.hospital.dto.ZhiGongDetailDTO;
import com.jy.framework.base.entity.Page;
import com.jy.framework.base.entity.Result;

import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

/**
 *  机构、职员 接口
 *@className(类名称):  HospitalAPI
 *@description(类描述):
 *@author(创建人):  zsh
 *@createDate(创建时间):  2024年8月1日 下午2:57:06
 *@updateUser(修改人):  zsh
 *@updateDate(修改时间):  2024年8月1日 下午2:57:06
 *@updateRemark(修改备注):
 *@version(版本):  v1.0
 */
public interface HospitalAPI {

	/**
	 * 互联互通 编辑机构信息
	 * /yiliaoZY/huLianHTJG
	 * @param jiGouDTO 机构信息
	 * @return
	 */
	Result<String> huLianHTJG(@RequestBody JiGouDTO jiGouDTO);

	/**
	 * 机构信息列表(互联互通专用)
	 * /jy/hospital/hospital/pageJiGouRhin
	 * @param id 预存查询的唯一编号
	 * @param hospitalId 医疗机构编码（医疗卫生服务机构标识）
	 * @param hospitalName  医疗机构名称
	 * @param status 医疗机构状态
	 * @param jiGouFL 医疗机构分类
	 * @param jiGouFLMC 医疗机构分类名称
	 * @param jiGouFLFS 医疗机构分类方式
	 * @param address 医疗机构地址
	 * @param mobile 医疗机构通讯号
	 * @param from 信息条目起始数
	 * @param maxCount 查询信息最大条数
	 * @return
	 */
	Result<Page<JiGouDTO>> pageJiGouRhin(@RequestParam(value = "id", required = false) String id,
			@RequestParam(value = "hospitalId", required = false) String hospitalId,
			@RequestParam(value = "hospitalName", required = false) String hospitalName,
			@RequestParam(value = "status", required = false) String status,
			@RequestParam(value = "jiGouFL", required = false) String jiGouFL,
			@RequestParam(value = "jiGouFLMC", required = false) String jiGouFLMC,
			@RequestParam(value = "jiGouFLFS", required = false) String jiGouFLFS,
			@RequestParam(value = "address", required = false) String address,
			@RequestParam(value = "mobile", required = false) String mobile,
			@RequestParam(value = "from", required = false) Integer from,
			@RequestParam(value = "maxCount", required = false) Integer maxCount);

	/**
	 * 互联互通编辑职工信息
	 * /yiliaoZY/huLianHTZG
	 * @param zhiGongDetailDTO 职工信息
	 * @return
	 */
	Result<String> huLianHTZG(@RequestBody ZhiGongDetailDTO zhiGongDetailDTO);

	/**
	 * 职工信息列表(互联互通专用)
	 * /jy/hospital/zhigong/page4Rhin
	 * @param zgGh 医疗卫生人员注册标识符
	 * @param status 医疗卫生人员可用状态
	 * @param name 医疗卫生人员姓名
	 * @param zcMc 职称名称
	 * @param zcDm 医疗卫生人员职称编码
	 * @param from 信息条目起始数
	 * @param maxCount 查询信息最大条数
	 * @param hospitalId 执业机构编码
	 * @return
	 */
	Result<Page<ZhiGongDetailDTO>> page4Rhin(@RequestParam(value = "zgGh", required = false) String zgGh,
			@RequestParam(value = "status", required = false) String status,
			@RequestParam(value = "name", required = false) String name,
			@RequestParam(value = "zwDm", required = false) String zcMc,
			@RequestParam(value = "zcDm", required = false) String zcDm,
			@RequestParam(value = "from", required = false) Integer from,
			@RequestParam(value = "maxCount", required = false) Integer maxCount,
			@RequestParam(value = "hospitalId", required = false) String hospitalId);



	/**
	 * 获取医院信息
	 * /jy/hospital/hospital/info
	 * @param hospitalId 医疗机构编码
	 * @return
	 */
    Result<HospitalDTO> info(@RequestParam("hospitalId") String hospitalId);
}
